home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-10-30 | 1.5 KB | 101 lines | [TEXT/CWIE] |
- { DDocData.p -- data container class for Temperature}
-
- Unit DDocData;
- Interface
-
- Uses
- Types,
- OSUtils,
-
-
- AMSignaler;
-
- const
- idCentigrade = longint ('Cene');
- idFahrenheit = longint ('Faht');
-
- type
- {----------}
- DDocData = object (AMSignaler)
-
- {data members}
- mCentigrade: SInt16;
- mFahrenheit: SInt16;
-
- {methods}
- Procedure Initialize; Override;
-
- Function GetCentigrade: SInt16;
- Procedure SetCentigrade (inValue: SInt16);
- Function GetFahrenheit: SInt16;
- Procedure SetFahrenheit (inValue: SInt16);
- end;
-
- {----------}
- Function NewDDocData: DDocData;
-
- {----------}
- Implementation
-
- {----------}
- Function NewDDocData: DDocData;
- var
- data: DDocData;
- begin
- data := nil;
- New (data);
- if data <> nil then begin
- data.Initialize;
- end;
- NewDDocData := data;
- end;
-
- {----------}
- Procedure DDocData.Initialize;
- begin
- inherited Initialize;
-
- mCentigrade := 10;
- mFahrenheit := 50;
- end;
-
- {----------}
- Function DDocData.GetCentigrade: SInt16;
- begin
- GetCentigrade := mCentigrade;
-
-
- end;
-
- Procedure DDocData.SetCentigrade (
- inValue: SInt16);
- begin
- mCentigrade := inValue;
-
- mFahrenheit := ((18 * mCentigrade) + 5) div 10 + 32;
- SignalDataChanged (idFahrenheit);
-
- SignalDataChanged (idCentigrade);
- end;
-
- {----------}
- Function DDocData.GetFahrenheit: SInt16;
- begin
- GetFahrenheit := mFahrenheit;
-
-
- end;
-
- Procedure DDocData.SetFahrenheit (
- inValue: SInt16);
- begin
- mFahrenheit := inValue;
-
- mCentigrade := ((10 * (mFahrenheit - 32)) + 9) div 18;
- SignalDataChanged (idCentigrade);
-
- SignalDataChanged (idFahrenheit);
- end;
-
- end.
-